package org.example.job;

import org.springframework.stereotype.Component;

import java.text.SimpleDateFormat;
import java.util.Date;
/*
    quartz 存在一个问题，如果自定义的job直接通过实现org.quartz.Job接口的话，
            你无法使用spring的@autowired自动注入
        目前的解决办法：重写它内置的JobFactory方法。
        原因：quartz它在实例化它自己（implements Job）任务，都是采用反射来实例化。
                并不是交给spring创建。

       特点：
        1. 这种写法，可以直接引用spring容器创建的所有 对象
        2. 每个job中是支持写多个方法的
 */
@Component //spring框架中的注解。意味着这个类将会交给spring管理
public class MyJob {

    private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    public void abc() {
        System.out.println(">>>>>>>>>>>>>>>>>>" + sdf.format(new Date()));
    }

//    //如果是直接实现quratz的Job接口来定义一个任务
//    //最大的问题：当前这个任务中将无法使用@autowired进行对象的注入
//    @Override
//    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
//
//    }
}
